// pages/search/index.js
import {request} from "../../resquest/index.js"
import regeneratorRuntime from '../../lib/runtime/runtime';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    goods:[],
    isFocus:false,
    inputValue:''
  },
  // 定义一个定时器,使得搜索防抖，不然每一次的输入都是一次请求
    timeId:-1,
  // 输入框事件，值改变事件，input事件
  // 1.获取到输入的值
  // 2.合法性判断
  // 3.检验通过，发送到后台
  // 4.返回数据打印到页面
  handleInput(e){
    // console.log(e);
    const {value} = e.detail;
    if(!value.trim()){
      this.setData({
        goods:[],
        isFocus:false
      })
      clearTimeout(this.timeId);
      return;
    }
    // 显示 "取消"按钮
   this.setData({
     isFocus:true
   })
    // 在连续输入时，清除上一次的定时请求，达到防抖
    clearTimeout(this.timeId)
    // 达到只有停止输入才会发起请求的作用
    this.timeId = setTimeout(()=>{
      this.qsearch(value);
    },1000)
  },
  // 发送请求获取搜索请求
  async qsearch(query){
    const {data:res} = await request({url:"/goods/qsearch",data:{query}})
    let goods = res.message;
    this.setData({
      goods
    })
    // console.log(goods);
  },

  // 点击“取消”按钮事件
  handleCancel(){
    this.setData({
      goods:[],
      inputValue:''
    })
  }

})